﻿/**
 * Copyright(c) Live2D Inc. All rights reserved.
 *
 * Use of this source code is governed by the Live2D Open Software license
 * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html.
 */
#pragma once

//#define USE_RENDER_TARGET

#include <CubismFramework.hpp>

/**
* @brief  Sample Appで使用する定数
*
*/
namespace Live2dDefine {

    using namespace Csm;

    extern const csmFloat32 ViewMaxScale;           ///< 拡大縮小率の最大値
    extern const csmFloat32 ViewMinScale;           ///< 拡大縮小率の最小値

    extern const csmFloat32 ViewLogicalLeft;        ///< 論理的なビュー座標系の左端の値
    extern const csmFloat32 ViewLogicalRight;       ///< 論理的なビュー座標系の右端の値

    extern const csmFloat32 ViewLogicalMaxLeft;     ///< 論理的なビュー座標系の左端の最大値
    extern const csmFloat32 ViewLogicalMaxRight;    ///< 論理的なビュー座標系の右端の最大値
    extern const csmFloat32 ViewLogicalMaxBottom;   ///< 論理的なビュー座標系の下端の最大値
    extern const csmFloat32 ViewLogicalMaxTop;      ///< 論理的なビュー座標系の上端の最大値

    extern const csmChar* ParaMouseX;               ///< 鼠标x轴参数
    extern const csmChar* ParaMouseY;               ///< 鼠标y轴参数
    extern const csmChar* ParaLeftButton;           ///< 鼠标左键参数
    extern const csmChar* ParaRightButton;          ///< 鼠标右键参数
    extern const csmChar* ParaLeftHandDown;         
    extern const csmChar* ParaRightHandDown;

    extern const csmChar* ParaStickLeftDown;         //CatParamStickLeftDown
    extern const csmChar* ParaStickRightDown;        //CatParamStickRightDown
    extern const csmChar* ParaStickShowLeftHand;     //CatParamStickShowLeftHand
    extern const csmChar* ParaStickShowRightHand;    //CatParamStickShowRightHand
    extern const csmChar* ParaStickLX;               //CatParamStickLX
    extern const csmChar* ParaStickLY;               //CatParamStickLY
    extern const csmChar* ParaStickRX;               //CatParamStickRX
    extern const csmChar* ParaStickRY;               //CatParamStickRY             

                                                    // モーションの優先度定数
    extern const csmInt32 PriorityNone;             ///< モーションの優先度定数: 0
    extern const csmInt32 PriorityIdle;             ///< モーションの優先度定数: 1
    extern const csmInt32 PriorityNormal;           ///< モーションの優先度定数: 2
    extern const csmInt32 PriorityForce;            ///< モーションの優先度定数: 3

                                                    // デバッグ用ログの表示
    extern const csmBool DebugLogEnable;            ///< デバッグ用ログ表示の有効・無効
    extern const csmBool DebugTouchLogEnable;       ///< タッチ処理のデバッグ用ログ表示の有効・無効

    // Frameworkから出力するログのレベル設定
    extern const CubismFramework::Option::LogLevel CubismLoggingLevel;

    // デフォルトのレンダーターゲットサイズ
    extern const csmInt32 RenderTargetWidth;
    extern const csmInt32 RenderTargetHeight;
}
